home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2002 #11
/
Amiga Plus CD - 2002 - No. 11.iso
/
Tools
/
Development
/
PowerD
/
powerd
/
source
/
lib
/
powerd_lib.lha
/
PowerD_PPC
/
EStringF.ass
< prev
next >
Wrap
Text File
|
2002-03-23
|
831b
|
54 lines
# EStringF(dst:r3:PTR TO CHAR,textfmt:r4:PTR TO CHAR,args:r5=0:PTR TO ULONG)
.text
.global _EStringF
.global _VEStringF
_VEStringF:
_EStringF:
mflr r0
stw r0,8(r1)
stwu r1,-32(r1)
stw r3,24(r1)
li r0,0
sth r0,-2(r3)
# r4 and r5 are set
# li r6,0 # copy all characters
bl .skip
.copy:
lhz r5,-4(r3)
lhz r6,-2(r3)
cmpw r5,r6
bgt .addchar
mr r6,r4
subi r4,r4,1
li r0,0
stbx r0,r4,r3
b .finish
.addchar: mr r5,r6
stbx r4,r5,r3
addi r5,r5,1
sth r5,-2(r3)
.finish: blr
.skip: mflr r6 # get the address of the copy procedure
mr r7,r3
lwz r3,_PowerPCBase(r2)
lwz r0,-840+2(r3) # RawDoFmtPPC
mtlr r0
blrl
lwz r3,24(r1)
addi r1,r1,32
lwz r0,8(r1)
mtlr r0
blr
.type _EStringF,@function
.size _EStringF,$-_EStringF
.type _VEStringF,@function
.size _VEStringF,$-_VEStringF
.extern _PowerPCBase